<html>
<head>
<title>HATCH entity</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" CONTENT="Bert Timmerman">
<meta name="license" CONTENT="GNU FDL 1.3 or any later versions">
	<style>
		<!-- 
		body,div,table,thead,tbody,tfoot,tr,th,td,p { font-family:"Liberation Sans"; font-size:16 }
		 -->
	</style>
</head>
<body bgcolor=#ffffff>
<h1>Introduction.</h1>
<p>
A hatch entity is a rather complex and intricate object to write to a
DXF file, nevertheless, we'll have to try.<br>
First a header and common values for the hatch is written to file,
then follows the hatch boundary data and the hatch pattern data.<br>
<br>
<ol type="A">
  <li>dxf_hatch_write_lowlevel ():<br>
    write hatch header and common values.<br>
  <br>
  Now follows the hatch boundary path data and the hatch pattern data:<br>
  <br>
  <li>dxf_hatch_write_boundaries_lowlevel ():<br>
    write boundary data which consists of one or more of either:<br>
  <br>
  <ol type="1">
    <li>dxf_hatch_write_boundary_path_edges_lowlevel ():<br>
      write the edges of one or more boundary paths, edges consisting of
      either:<br>
      <br>
    <ol type="a">
      <li>dxf_hatch_write_boundary_path_edge_line_lowlevel ():<br>
        write a line entity.<br>
        <br>
      <li>dxf_hatch_write_boundary_path_edge_arc_lowlevel ():<br>
        write an arc entity.<br>
        <br>
      <li>dxf_hatch_write_boundary_path_edge_ellipse_lowlevel ():<br>
        write an ellipse entity.<br>
        <br>
      <li>dxf_hatch_write_boundary_path_edge_spline_lowlevel ():<br>
        write a spline entity.<br>
        <br>
    </ol>
    The edge entities making a boundary path should form a closed
    loop, for else the hatch pattern will "escape" from this area
    through the "gaps" in the boundary path.<br>
    <br>
    In case a very dense hatch pattern is chosen, it may take very
    long for AutoCAD (or any other CAD application using the DXF
    file) to load the hatch entity, for it will try to apply the
    hatch pattern to it's entire universe ;-(<br>
    <br>
    It is for this reason that applying a very dense hatch pattern is
    considered a Bad Thing (TM); better use the SOLID hatch pattern
    to obtain a similar result.<br>
    <br>
    <li>dxf_hatch_write_boundary_path_polyline_lowlevel ():<br>
      write a polyline entity and vertices.<br>
      <br>
    <ol type = "a">
      <li>dxf_hatch_write_boundary_polyline_vertex_lowlevel ():<br>
        write a series of vertices (minimum should be 3).<br>
        <br>
    </ol>
    The polyline making a boundary path should form a closed loop,
    for else the hatch pattern will "escape" from this area through
    the "gaps" in the boundary path.<br>
    <br>
    In case a very dense hatch pattern is chosen, it may take very
    long for AutoCAD (or any other CAD application using the DXF
    file) to load the hatch entity, for it will try to apply the
    hatch pattern to it's entire universe ;-(<br>
    <br>
    It is for this reason that applying a very dense hatch pattern is
    considered a Bad Thing (TM); better use the SOLID hatch pattern
    to obtain a similar result.<br>
    <br>
  </ol>
    <li>dxf_hatch_write_hatch_pattern_data_lowlevel ():<br>
      write one or more pattern definition lines which are either
      continous or dashed.<br>
      <br>
  <ol type = "1">
    <li>dxf_hatch_write_pattern_def_line_dashes_lowlevel ();<br>
      <br>
  </ol>
</ol>
</p>
<br>
</body>
</html>
